炼丹实验室


  • 首页

  • 归档

  • 标签

  • 搜索

线下AUC提升为什么不能带来线上效果提升?

发表于 2019-03-03 |

在推荐系统实践中,我们往往会遇到一个问题:线下AUC提升并不能带来线上效果提升,这个问题在推荐系统迭代的后期往往会更加普遍。

在排除了低级失误bug以后,造成这个问题可能有下面几点原因:

  1. 样本

    • 线下评测基于历史出现样本,而线上测试存在新样本。因此线下AUC提升可能只是在历史出现样本上有提升,但是对于线上新样本可能并没有效果。
    • 历史数据本身由老模型产生,本身也是存在偏置的。
    • 包含时间相关特征,存在特征穿越。
      阅读全文 »

Character-based Joint Segmentation and POS Tagging for Chinese using Bidirectional RNN-CRF

发表于 2017-04-06 |

Character-based Joint Segmentation and POS Tagging for Chinese using Bidirectional RNN-CRF

作者

Yan Shao and Christian Hardmeier and Jorg Tiedemann and Joakim Nivre

关键词

Bi-RNN-CRF,分词,词性标注,汉字embedding

阅读全文 »

当AI邂逅艺术:机器写诗综述

发表于 2017-01-24 |

引言

什么是艺术?
机器的作品能否叫艺术?
机器能否取代艺术家?
这些问题,相信不同的人,会有不同的答案。很多人认为机器生成的作品只是简单的模仿人类,没有创造性可言,但是人类艺术家,不也是从模仿和学习开始的吗?本文是一篇机器诗歌生成的综述文章,希望能增进大家对这个领域的了解。
诗歌是人类文学皇冠上的明珠。我国自《诗经》以后,两千年来的诗篇灿若繁星。让机器自动生成诗歌,一直是人工智能领域一个有挑战性的工作。

基于传统方法的诗歌生成

机器诗歌生成的工作,始于20世纪70年代。传统的诗歌生成方法,主要有以下几种:

阅读全文 »

如何获取最新的深度学习资源

发表于 2017-01-15 |

很多刚入门深度学习的朋友,往往不知道该如何获取最新的深度学习资源,包括资讯,论文,学习资料等等,有问题也不知道该与谁交流。因此这里分享一些相关途径,希望对大家的学习有所帮助。

微信公众号

有很多和深度学习相关的公众号,对学术相关进展的跟进都很及时,可以考虑有选择的关注:

  • 机器之心
  • 智能立方:
  • paperweekly
  • 哈工大scir
  • 将门创投
  • 炼丹实验室
  • 机器学习研究会
  • AI科技评论
  • 全球人工智能
  • 深度学习大讲堂

    阅读全文 »

Theano调试技巧

发表于 2017-01-11 |

Theano是最老牌的深度学习库之一。它灵活的特点使其非常适合学术研究和快速实验,但是它难以调试的问题也遭到过无数吐槽。其实Theano本身提供了很多辅助调试的手段,下面就介绍一些Theano的调试技巧,让Theano调试不再难。而关于深度学习的通用调试技巧,请参见我之前的文章:[深度学习调参技巧]。

以下的技巧和代码均在Theano 0.8.2 上测试通过,不保证在更低的版本上也可以适用。

如何定位出错位置

Theano的网络在出错的时候,往往会提供一些出错信息。但是出错信息往往非常模糊,让人难以直接看出具体是哪一行代码出现了问题。大家看下面的例子:

阅读全文 »

深度学习调参技巧

发表于 2017-01-04 |

之前曾经写过一篇文章,讲了一些深度学习训练的技巧,其中包含了部分调参心得:深度学习训练心得。不过由于一般深度学习实验,相比普通机器学习任务,时间较长,因此调参技巧就显得尤为重要。同时个人实践中,又有一些新的调参心得,因此这里单独写一篇文章,谈一下自己对深度学习调参的理解,大家如果有其他技巧,也欢迎多多交流。

好的实验环境是成功的一半

由于深度学习实验超参众多,代码风格良好的实验环境,可以让你的人工或者自动调参更加省力,有以下几点可能需要注意:

  • 将各个参数的设置部分集中在一起。如果参数的设置分布在代码的各个地方,那么修改的过程想必会非常痛苦。
  • 可以输出模型的损失函数值以及训练集和验证集上的准确率。
  • 可以考虑设计一个子程序,可以根据给定的参数,启动训练并监控和周期性保存评估结果。再由一个主程序,分配参数以及并行启动一系列子程序。
阅读全文 »

深度学习训练个人心得

发表于 2016-10-01 |

参数初始化。

下面几种方式,随便选一个,结果基本都差不多。但是一定要做。否则可能会减慢收敛速度,影响收敛结果,甚至造成Nan等一系列问题。
n_in为网络的输入大小,n_out为网络的输出大小,n为n_in或(n_in+n_out)*0.5
Xavier初始法论文:http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf
He初始化论文:https://arxiv.org/abs/1502.01852

  • uniform均匀分布初始化:
    w = np.random.uniform(low=-scale, high=scale, size=[n_in,n_out])

    • Xavier初始法,适用于普通激活函数(tanh,sigmoid):scale = np.sqrt(3/n)
    • He初始化,适用于ReLU:scale = np.sqrt(6/n)
  • normal高斯分布初始化:
    w = np.random.randn(n_in,n_out) * stdev # stdev为高斯分布的标准差,均值设为0

    • Xavier初始法,适用于普通激活函数 (tanh,sigmoid):stdev = np.sqrt(n)
    • He初始化,适用于ReLU:stdev = np.sqrt(2/n)
  • svd初始化:对RNN有比较好的效果。参考论文:https://arxiv.org/abs/1312.6120

阅读全文 »

如何使用word2vec训练的向量来辅助模型训练

发表于 2016-08-15 |

使用word2vec工具在外部大规模语料上训练得到的向量,可以有效的辅助深度学习模型训练,提高结果。但是实际使用的时候,有很多方式可供选择。

  • 直接用word2vec向量初始化模型embedding,训练的时候允许embedding向量更新。
    这个方法最为常用,但是遇到不在训练语料中的词,就不能借助外部word2vec向量了。
  • word2vec向量,先连接全连接层(可以是多层),转化后的向量再作为模型的embedding,训练的时候,word2vec向量保持不变,允许全连接层的参数更新。
    这个方法,哪怕遇到不在训练语料中的词,只要这个词在外部大规模语料中,能得到word2vec向量,那么就没问题。同时因为word2vec向量在训练的时候固定,因此模型训练涉及的参数会大大减少。
    阅读全文 »

《黑客与画家》读书笔记

发表于 2015-05-16 |

这本书是一本非常经典的书,作者是有硅谷创业教父之称的Paul Graham,书中介绍了作者对黑客精神的看法,鼓励我们保持独立思考的精神,同时介绍了创业公司相比传统公司的种种优点,也谈到了自己对设计,对编程语言等的看法。非常具有启发性

为什么书呆子不受欢迎

这一章,作者从自己的角度,分析了为什么书呆子不受欢迎。因为相比让自己受欢迎,他们更愿意把精力放到让自己聪明。让自己受欢迎,需要投入大量的精力,只有极少数人能同时分出精力做到这两者。被一群孩子成群结队的欺负,并不是因为做错了什么,只是因为这一伙人需要一起找一件事情做,而欺负书呆子是一个安全的事情。

阅读全文 »

萧瑟

萧瑟

9 日志
6 标签
Github Zhihu
© 2019 萧瑟
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4